#ifndef _UPDATE_TIMER_H_
#define _UPDATE_TIMER_H_

#include "kernelTask.h"
#include "GCPtr.h"
#include <SDL.h>

class UpdateTimer : public IKernelTask
{
	public:
		~UpdateTimer();

		static GCPtr<UpdateTimer> getInstance();

		float getTimeDelta();
		float getTotalTime();
		bool Start();
		void Stop();
		void Update();

	protected:
		unsigned long ulLastTick;
		unsigned long ulCurrentTick;
		unsigned long ulStartTick;
		float fTimeDelta;

	private:
		UpdateTimer( void );
		UpdateTimer( UpdateTimer const& );
		UpdateTimer& operator=( UpdateTimer const& );
};

#endif